CREATE EXTERNAL TABLE jms_dwd.dwd_s01_whole_operations_basic_agg_dt (
  waybill_no                                  string        COMMENT '运单号',
  network_code                                string        COMMENT '网点编码',
  network_name                                string        COMMENT '网点名称',
  network_type                                tinyint       comment '网点类型 ; 1.加盟商,2.转运中心,3.集散点,4.普通网点,5.代理区,6.总部,0.其他',
  previous_network_code                       string        COMMENT '上一站网点编码(根据实际记录排序所得)',
  previous_network_later_time                 timestamp     COMMENT '上一站网点最后扫描时间(根据实际记录排序所得)',
  next_network_code                           string        COMMENT '下一站网点编码(根据实际记录排序所得)',
  next_network_early_time                     timestamp     COMMENT '下一站网点最早扫描时间(根据实际记录排序所得)',

  all_rank_asc                                tinyint       COMMENT '该网点在运单所有经过网点的全局排序，正序;为1表示始发网点',
  all_rank_desc                               tinyint       COMMENT '该网点在运单所有经过网点的全局排序，倒序;为1表示末端网点',
  center_rank_asc                             tinyint       COMMENT '该网点在运单所有经过中心的全局排序，正序;为1表示始发中心',
  center_rank_desc                            tinyint       COMMENT '该网点在运单所有经过中心的全局排序，倒序;为1表示末端中心',
  entreport_rank_asc                          tinyint       COMMENT '该网点在运单所有经过集散的全局排序，正序;为1表示始发集散',
  entreport_rank_desc                         tinyint       COMMENT '该网点在运单所有经过集散的全局排序，倒序;为1表示末端集散',
  all_cnt                                     int           COMMENT '网点总操作次数',
  network_later_scantime                      timestamp     COMMENT '网点最后一次扫描时间',
  network_early_scantime                      timestamp     COMMENT '网点最早一次扫描时间',
  network_later_scantype                      string        COMMENT '网点最后一次扫描类型',
  network_early_scantype                      string        COMMENT '网点最早一次扫描类型',

  actual_taking_scantime                      timestamp     COMMENT '网点实际揽收时间(揽收入仓取最早)',
  actual_taking_weight                        decimal(10,2) COMMENT '网点实际揽收重量(揽收入仓取最早)',
  actual_taking_scantype                      string        COMMENT '网点实际揽收类型(揽收入仓取最早)',
  actual_taking_scanuser                      string        COMMENT '网点实际揽收扫描员(揽收入仓取最早)',

  taking_later_scantime                       timestamp     COMMENT '网点最晚揽收时间',
  taking_early_scantime                       timestamp     COMMENT '网点最早揽收时间',
  taking_early_weight                         decimal(10,2) COMMENT '运单在该网点揽收最早重量',
  taking_early_scanuser                       string        COMMENT '运单在该网点揽收最早扫描员',

  warehousing_later_scantime                  timestamp     COMMENT '网点最晚入仓时间',
  warehousing_early_scantime                  timestamp     COMMENT '网点最早入仓时间',
  warehousing_early_weight                    decimal(10,2) COMMENT '网点最早入仓重量',
  warehousing_early_scanuser                  string        COMMENT '网点最早入仓扫描员',

  bagging_early_scantime                      timestamp     COMMENT '网点最早建包时间',
  bagging_later_scantime                      timestamp     COMMENT '网点最晚建包时间',
  bagging_later_package_code                  string        COMMENT '网点最晚建包包号',

  unloading_later_scantime                    timestamp     COMMENT '网点最晚卸车时间',
  unloading_early_scantime                    timestamp     COMMENT '网点最早卸车时间',
  unloading_early_weight                      decimal(10,2) COMMENT '网点最早卸车重量',

  arrival_later_scantime                      timestamp     COMMENT '网点最晚到件时间',
  arrival_early_scantime                      timestamp     COMMENT '网点最早到件时间',
  arrival_early_weight                        decimal(10,2) COMMENT '网点最早到件重量',
  arrival_early_scanuser                      string        COMMENT '网点最早到件扫描员',

  unloading_arrival_shipment_no               string        COMMENT '网点最早卸车到件任务号',
  unloading_arrival_planned_departure_time    timestamp     COMMENT '网点卸车到件规划发车时间',
  unloading_arrival_planned_arrival_time      timestamp     COMMENT '网点卸车到件规划到车时间',
  unloading_arrival_actual_departure_time     timestamp     COMMENT '网点卸车到件实际发车时间',
  unloading_arrival_actual_arrival_time       timestamp     COMMENT '网点卸车到件实际到车时间',
  unloading_arrival_previous_network_code     string        COMMENT '网点卸车到件上一站网点编码',
  unloading_arrival_previous_network_type     tinyint       COMMENT '网点卸车到件上一站网点类型',

  loading_early_scantime                      timestamp     COMMENT '网点最早装车扫描时间',
  loading_later_scantime                      timestamp     COMMENT '网点最晚装车扫描时间',
  loading_later_weight                        decimal(10,2) COMMENT '网点最晚装车重量',

  send_early_scantime                         timestamp     COMMENT '网点最早发件扫描时间',
  send_later_scantime                         timestamp     COMMENT '网点最晚发件扫描时间',
  send_later_weight                           decimal(10,2) COMMENT '网点最晚发件重量',
  send_later_scanuser                         string        COMMENT '网点最晚发件扫描员',

  loading_send_shipment_no                    string        COMMENT '网点最晚装车发件任务号',
  loading_send_planned_departure_time         timestamp     COMMENT '网点装车发件规划发车时间',
  loading_send_planned_arrival_time           timestamp     COMMENT '网点装车发件规划到车时间',
  loading_send_actual_departure_time          timestamp     COMMENT '网点装车发件实际发车时间',
  loading_send_actual_arrival_time            timestamp     COMMENT '网点装车发件实际到车时间',
  loading_send_next_network_code              string        COMMENT '网点最晚装车发件下一站网点编码',
  loading_send_next_network_name              string        COMMENT '网点最晚装车发件下一站网点名称',
  loading_send_next_network_type              tinyint       COMMENT '网点最晚装车发件下一站网点类型',

  deliver_early_scantime                      timestamp     COMMENT '网点最早派件扫描时间',
  deliver_later_scantime                      timestamp     COMMENT '网点最晚派件扫描时间',
  deliver_later_weight                        decimal(10,2) COMMENT '网点最晚派件重量',
  deliver_later_scanuser                      string        COMMENT '网点最晚派件扫描员',

  sign_later_scantime                         timestamp     COMMENT '网点最晚签收扫描时间',
  sign_early_scantime                         timestamp     COMMENT '网点最早签收扫描时间',
  sign_early_weight                           decimal(10,2) COMMENT '网点最早签收重量',
  sign_early_scanuser                         string        COMMENT '网点最早签收扫描员',

  actual_sign_scantime                        timestamp     COMMENT '网点实际签收时间(揽收出库取最早)',
  actual_sign_weight                          decimal(10,2) COMMENT '网点实际签收重量(揽收出库取最早)',
  actual_sign_scantype                        string        COMMENT '网点实际签收类型(揽收出库取最早)',
  actual_sign_scanuser                        string        COMMENT '网点实际签收扫描员(签收出库取最早)',

  aging_sign_scantime                         timestamp     COMMENT '网点时效签收时间(签收,出库,入库,代理点收入取最早)',
  aging_sign_weight                           decimal(10,2) COMMENT '网点时效签收重量(签收,出库,入库,代理点收入取最早)',
  aging_sign_scantype                         string        COMMENT '网点时效签收类型(签收,出库,入库,代理点收入取最早)',
  aging_sign_scanuser                         string        COMMENT '网点时效签收扫描员(签收,出库,入库,代理点收入取最早)',

  unbagging_early_scantime                    timestamp     COMMENT '网点最早拆包时间',
  unbagging_later_scantime                    timestamp     COMMENT '网点最晚拆包时间',
  unbagging_later_package_code                string        COMMENT '网点最晚拆包包号'

)
COMMENT '运单网点维度宽表，统计近20天'
partitioned by (dt string    comment '更新/创建日期(yyyy-mm-dd)')
stored as parquet
location '/dw/hive/jms_dwd.db/external/dwd_s01_whole_operations_basic_agg_dt'
tblproperties (
        'parquet.column.index.access' = 'true'
);
